#ifndef _8FCAF228_8787_4bd6_82B2_DBE14B9C2E13_
#define _8FCAF228_8787_4bd6_82B2_DBE14B9C2E13_


#include "server_work.hpp"
namespace testqserv
{

    class server_work_allocator
    {
    public:

        typedef boost::asio::ip::tcp::socket socket_type;

        server_work_allocator(LoggerPtr logger):
            m_logger(logger)
        {
        }

        socket_type* make_socket(boost::asio::io_service& io_service)
        {
            return new socket_type(io_service);
        }

        server_work* make_handler()
        {
            return new server_work(m_logger);
        }

    private:
        LoggerPtr m_logger;
    };

} // namespace testqserv

#endif // _8FCAF228_8787_4bd6_82B2_DBE14B9C2E13_
